var globalCount = 0;
$("#fakeloader").fakeLoader({
		timeToHide : 100, //Time in milliseconds for fakeLoader disappear
		zIndex : 999, // Default zIndex
		spinner : "spinner6", //Options: 'spinner1', 'spinner2', 'spinner3', 'spinner4', 'spinner5', 'spinner6', 'spinner7' 
		bgColor : "#fff", //Hex, RGB or RGBA colors
	});
	setTimeout(function() {
		$('body').css('opacity', '1');
		$('body').attr("class", "gray-bg") //添加样式
	}, 10);
$(document).ready(function() {
	//selectRole();
	load();
});
var selectRole = function() {
	$('#exampleTable').bootstrapTable({
		method : 'post',
		url : "../selectAllMenus",
		dataType : "json",
		code :'id',
        parentCode : 'parentId',
		striped : false, //使表格带有条纹  
		pagination : true, //在表格底部显示分页工具栏  
		pageSize : 10,
		pageNumber : 1,
		sortStable : true,
		sortable : true,
		pageList : [ 10, 20, 50, 100 ],
		idField : "id", //标识哪个字段为id主键  
		showToggle : false, //名片格式  
		cardView : false, //设置为True时显示名片（card）布局  
		showColumns : true, //显示隐藏列    
		showRefresh : true, //显示刷新按钮  
		//singleSelect: true,//复选框只能选择一条记录  
		search : true, //是否显示搜索框
		searchOnEnterKey : true, //设置为 true时，按回车触发搜索方法，否则自动触发搜索方法
		//clickToSelect: true,//点击行即可选中单选/复选框  
		queryParams : queryParams, //参数  
		showFullscreen:true,  //全屏按钮
		//queryParamsType: "limit", //查询参数组织方式
		sidePagination : "server", //服务端处理分页
		silent : true, //刷新事件必须设置  
		searchTimeOut : 500, //设置搜索超时时间
		toolbarAlign : 'left', //工具栏对齐方式
		buttonsAlign : 'right', //按钮对齐方式
		bordered : true, // 是否显示边框
		expandAll : false, // 是否全部展开
		toolbar : '#toolbar', //指定工作栏
		searchAlign : 'right',
		// singleSelect : true,
		contentType : "application/x-www-form-urlencoded",
		formatLoadingMessage : function() {
			
			return "请稍后，正在加载中...";
		},
		formatNoMatches : function(res) { //没有匹配的结果  
			return "无符合条件的记录/您没有查看权限";
		},
		responseHandler : function(res) {
			console.log(res);
			if(res=="201"){
				swal({title:"未授权",width:"100",height:"50px", text:"",showConfirmButton:false, type:"warning",timer:"1000"}); 
				return {
					"total" : 0, //总页数
					"rows" : null //数据
				};
			}
			return {
				"total" : res.pageInfo.total, //总页数
				"rows" : res.pageInfo.list //数据
			};
		},
		columns : [
			{
				title : '编号',
				field : 'id',
				visible : false,
				align : 'center',
				valign : 'middle',
				width : '50px'
			},
			{
				title : '名称',
				field : 'name'
			},

			{
				title : '图标',
				field : 'icon',
				align : 'center',
				valign : 'middle',
				
			},
			{
				title : '类型',
				field : 'type',
				align : 'center',
				valign : 'middle',
				formatter : function(item, index) {
					if (item.type === 0) {
						return '<span class="label label-primary">目录</span>';
					}
					if (item.type === 1) {
						return '<span class="label label-success">菜单</span>';
					}
					if (item.type === 2) {
						return '<span class="label label-warning">按钮</span>';
					}
				}
			},
			{
				title : '地址',
				field : 'url'
			},
			{
				title : '权限标识',
				field : 'perms'
			},
			{
				title : '操作',
				field : 'id',
				align : 'center',
				formatter : function(item, index) {
					var e = '<a class="btn btn-primary btn-sm" href="#" mce_href="#" title="编辑" onclick="edit(\''
							+ item.id
							+ '\')"><i class="fa fa-edit"></i></a> ';
					var p = '<a class="btn btn-primary btn-sm" href="#" mce_href="#" title="添加下级" onclick="add(\''
							+ item.id
							+ '\')"><i class="fa fa-plus"></i></a> ';
					var d = '<a class="btn btn-warning btn-sm " href="#" title="删除"  mce_href="#" onclick="remove(\''
							+ item.id
							+ '\')"><i class="fa fa-remove"></i></a> ';
					return e + d + p;
				}
			} ]
	});
	globalCount++;
}



var load = function() {
	$('#exampleTable')
			.bootstrapTreeTable(
					{
						id : 'id',
                        code :'id',
                        parentCode : 'parentId',
                        pagination : true, //在表格底部显示分页工具栏  
						type : "GET", // 请求数据的ajax类型
						url : '../selectAllMenus', // 请求数据的ajax的url
						ajaxParams : {}, // 请求数据的ajax的data属性
						expandColumn : '1',// 在哪一列上面显示展开按钮
						striped : true, // 是否各行渐变色
						bordered : true, // 是否显示边框
						expandAll : false, // 是否全部展开
						clickableNodeNames:true,
						//toolbar : '#toolbars',
						columns : [
								{
									title : '编号',
									field : 'id',
									visible : false,
									align : 'center',
									valign : 'middle',
									width : '50px'
								},
								{
									title : '名称',
									field : 'name'
								},

								{
									title : '图标',
									field : 'icon',
									align : 'center',
									valign : 'middle',
									formatter : function(item, index) {
										return item.icon == null ? ''
												: '<i class="' + item.icon
														+ ' fa-lg"></i>';
									}
								},
								{
									title : '类型',
									field : 'type',
									align : 'center',
									valign : 'middle',
									formatter : function(item, index) {
										if (item.type === 0) {
											return '<span class="label label-primary">目录</span>';
										}
										if (item.type === 1) {
											return '<span class="label label-success">菜单</span>';
										}
										if (item.type === 2) {
											return '<span class="label label-warning">按钮</span>';
										}
									}
								},
								{
									title : '地址',
									field : 'url'
								},
								{
									title : '权限标识',
									field : 'perms'
								},
								{
									title : '操作',
									field : 'id',
									align : 'center',
									formatter : function(item, index) {
										//var e = '<a  class=" btn-sm btn-info" href="#" data-toggle="modal" data-target="#myModal" title="修改" onclick="edit(\'' + item.id + '\')"><i class="fa fa-edit" ></i> </a> ';
										var e = '<a class="btn btn-primary btn-sm" href="#" data-toggle="modal" data-target="#myModal" title="修改" onclick="edit(\''
											+ item.id
											+ '\',\''+ item.parentId
											+ '\')"><i class="fa fa-edit"></i></a> ';
										var p = '<a class="btn btn-primary btn-sm" href="#" data-toggle="modal" data-target="#myModalAdd" title="添加下级" onclick="add(\''
												+ item.id
												+ '\',\''+ item.name
												+'\')"><i class="fa fa-plus"></i></a> ';
										var d = '<a class="btn btn-warning btn-sm " href="#" title="删除"  mce_href="#" onclick="remove(\''
												+ item.id
												+ '\')"><i class="fa fa-remove"></i></a> ';
										return e + d + p;
									}
								} ]
					});
}
function reLoad() {
	load();
}
function add(pId,name) {
	clearAdd();
	var add= "<button class='J_menuItem btn btn-white' onclick='doAdd("+pId+")'>添加</button>";
	$("#nparaentId").attr("value",name);
	$(".add").html(add);
}
function doAdd(pId){
	$.ajax({
		url : "../addMenu",
		type : "post",
		data : {
			'parentId' : pId,
			'name' : $("#nname").val(),
			'url' : $("#nurl").val(),
			'perms' : $("#nperms").val(),
			'orderNum' : $("#norderNum").val(),
			'icon' : $("#icon2").val(),
			'type' : $('input[type=radio][name=ntype]:checked').val(),
		},
		success : function(data) {
			console.log(data);
			if (data.status == 200) {
				$("#myModalAdd").modal('hide');
				reLoad();
				layer.msg("添加成功");
			} else if(data=="201") {
				layer.msg("未授权");
			}else{
				layer.msg("添加失败,请重新操作");
			}
		}
	});
}



function updateMenu(id){
	$.ajax({
		url : "../updateMenu",
		type : "post",
		data : {
			'id'  :  id,
			'parentId' : $("#parentId").val(),
			'name' : $("#uname").val(),
			'url' : $("#url").val(),
			'perms' : $("#perms").val(),
			'orderNum' : $("#orderNum").val(),
			'icon' : $("#icon1").val(),
			'type' : $('input[type=radio][name=type]:checked').val(),
		},
		success : function(data) {
			console.log(data);
			if (data.status == 200) {
				$("#myModal").modal('hide');
				reLoad();
				layer.msg("更新成功");
			} else if(data=="201") {
				layer.msg("未授权");
			}else{
				layer.msg("更新失败,请重新操作");
			}
		}
	});
}
function clearAdd(){
	$("#nname").val("");
	$("#nurl").val("");
	$("#nperms").val("");
	$("#norderNum").val("");
	$("#icon2").val("");
	$('input[type=radio][name=ntype][value=0]').attr("checked",'checked');
}
function remove(id) {
	layer.open({
		title: '确定要删除吗？',
		content: '删除后将无法恢复，请谨慎操作',
		btn: ['确定', '取消'],
		shadeClose: true,
		//回调函数
		yes: function(index, layero){
			$.ajax({
				url : "../deleteMenu",
				type : "post",
				data : {
					'id' : id
				},
				success : function(data) {
					console.log(data);
					if (data.status == 200) {
						reLoad();
						layer.msg("删除成功");
					}else if(data=="201") {
						layer.msg("未授权");
					}else if(data.status=="202"){
						layer.msg("删除失败,该目录下还有子目录");
					}else{
						layer.msg("删除失败,请重新操作");
					}
				}
			});
			},
			btn2: function(index, layero){
				layer.close();
				}/*,
			cancel: function(index,layero){
				//按右上角“X”按钮
				layer.close();
				},*/
			});
		}
function ico() {
	layer.open({
		type : 2,
		title : '选择图标',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '500px', '400px' ],
		content : '../common/FontIcoList.jsp' // iframe的url
	});
}
//查看菜单信息
function edit(Id,parentId) {
	var param = {
		id : Id,
		parentId:parentId,
	}
	$.ajax({
		url : '../selectMenuById',
		type : 'post',
		data : param,
		dataType : 'json',
		success : function(data) {
			
			//查询成功
			if (data.status == 200) {
				console.log(data,"通过ID查找的菜单");
				$("#id").val(data.menu.id);
				$("#uname").val(data.menu.name);
				$("#parentId").val(data.menu.parentId);
				$("#paraentId").attr("value",data.menu.parentName);
				$("#url").val(data.menu.url);
				$("#perms").val(data.menu.perms);
				$("#orderNum").val(data.menu.orderNum);
				$("#icon1").val(data.menu.icon);
				$('input[type=radio][name=type][value="'+data.menu.type+'"]').attr("checked",'checked');
				
				var update = '<button  class="J_menuItem btn btn-white" onclick="updateMenu(' + data.menu.id + ')">保存</button>';
				$(".modal-footer").find(".update").html(update);
				
			}
			$('pre').each(function(i, block) {
				hljs.highlightBlock(block);
			});
		},
		error : function() {
			swal("查询错误", "请重新操作", "error");
		}
	});
}